Many relatively large companies provide call-in services for the convenience of their customers or potential customers. Reservation and information services provided by many airlines are examples of such services. Typically, such companies maintain a number of ACDs geographically dispersed according to the scope of operations of the company. It is highly desirable, both for reasons of service quality to customers and for company administrative matters, that call loads to the ACDs be relatively balanced. However, in many cases no attempt is made to accomplish this because of the present high cost required to do this. For example, in one form of 800 service presently available (see U.S. Pat. No. 4,191,860, "Data Base Communication Call Processing Method", which issued to R. P. Weber on Mar. 4, 1985), calls may be allocated to individual ACDs on a percentage basis as specified by a customer. However, this is a fixed percentage allocation having no capability to dynamically adapt to variable conditions for load balancing. In other cases, load balancing is attempted, but inadequately accomplished by semiautomatic means. In one arrangement, each ACD automatically overflows calls to another ACD when its call congestion rises to a predetermined level. This, of course, is expensive because it requires trunking between the ACDs. In some cases, switching has been provided between the ACDs to reduce the trunking cost. In either event, however, the additional trunking degrades the quality of communication. Furthermore, the automatic overflow of calls does not necessarily aid the problem. In fact, it may worsen the problem because the overflowing ACD has no knowledge of the congestion of the ACD to which overflow is made.
Traffic control centers have occasionally been used in an attempt to solve this last problem. In such an arrangement, each ACD periodically transmits status information to a dedicated terminal at the center via a private data line. The status information on each terminal is recorded and analyzed by a center attendant to determine capacity thresholds and overflow ACDs for each of the ACDs. This information is then transmitted to the appropriate ACDs by the attendant. When a call arrives at an ACD, the ACD determines if its then present capacity threshold is exceeded. If so, the ACD queries the first overflow ACD to see if it can accept the call without overflowing that ACD's threshold. The call is then overflowed to this ACD if the answer is yes. Otherwise, the next overflow ACD, if any, is queried, and so on.
One difficulty with the traffic control center approach is that it has proven to be too slow. The threshold and overflow routing data available to an ACD at any given time does not necessarily reflect the present congestion state of the ACD network. Perhaps more important, however, is that the traffic control center approach still requires trunking between the individual ACDs along with the attendant additional cost and degraded communications.